package cn.iocoder.yudao.module.reading.dal.dataobject.assignment;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.time.LocalDate;

/**
 * 班级作业 DO
 *
 * @author 芋道源码
 */
@TableName("class_assignments")
@KeySequence("class_assignments_seq")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ClassAssignmentDO extends BaseDO {

    /**
     * 作业ID
     */
    @TableId
    private Long id;
    /**
     * 班级ID
     */
    private Long classId;
    /**
     * 创建者ID（教师）
     */
    private Long creatorId;
    /**
     * 作业标题
     */
    private String title;
    /**
     * 截止日期
     */
    private LocalDate assignmentDate;
    /**
     * 完成条件：audio-配音，read-阅读
     */
    private String requirementType;
    /**
     * 作业描述
     */
    private String description;
    /**
     * 作业包含的绘本总数
     */
    private Integer totalBooks;
    /**
     * 已完成人数（冗余字段）
     */
    private Integer completedCount;
    /**
     * 布置时的班级总人数（冗余字段）
     */
    private Integer totalMembers;
    /**
     * 是否为跨班级作业
     */
    private Boolean isMultiClass;
    /**
     * 是否启用
     */
    private Boolean isActive;

}
